Method for creating 2d slicing polyline based support structure for 3d printing

ABSTRACT

Provided is a method for creating a 2D slicing polyline based support structure for 3D printing. A method for creating a support structure according to an embodiment of die present invention comprises: slicing a 3D model into a plurality of 2D layers; comparing the 2D layers to calculate a support position for each of the 2D layers; and creating supports at the calculated positions. As a result, the supports can be created at precise and meaningful positions, a stable output is possible, and additional slicing work is not necessary on the created supports, whereby improvement of speed can be expected.

TECHNICAL FIELD

The present disclosure relates to three-dimensional (3D) printing-related technology, and more particularly, to a method for creating a support structure of a 3D model for 3D printing.

BACKGROUND ART

A related-art support structure for 3D printing is created based on face information of an inputted 3D model. Specifically, a face having an overhang angle smaller than a threshold value is detected and a position of a support is calculated by sampling a point. FIG. 1 illustrates a related-art process of calculating a support position based on a 3D model face.

However, since the 3D model is virtual data and a tool path used for real output is data that is generated by slicing the 3D model, there is a problem that the support position calculated by the related-art method does not match real output data.

Specifically, the support positions calculated by the related-art method may be meaningless positions depending on a layer thickness setting value in the process of slicing the 3D model, and a support tip part may be lost and there may be a problem that the support and the model are not attached to each other.

Furthermore, when a digital lighting processing (DLP) method, which is one of the 3D printing methods, is applied, detachment between a support tip and a 3D model may occur due to contraction of a material.

To solve this problem, a method of creating a support by inserting the support into a 3D model may be used as shown in FIGS. 2 and 3. However, when two or more 3D models overlap, a mesh error such as face overlapping or self-intersection may be caused.

DISCLOSURE Technical Problem

The present disclosure has been developed in order to address the above-discussed deficiencies of the prior art, and an object of the present disclosure is to provide a method and a system for creating a support structure based on polyline information of 2D layers which are generated by slicing a 3D model, as a solution for stable 3D printing.

Technical Solution

According to an embodiment of the present disclosure to achieve the above-described object, a method for creating a support structure includes: slicing a 3D model into a plurality of 2D layers; calculating support positions with respect to the 2D layers by comparing the 2D layers; and creating supports at the calculated positions.

The calculating may include: detecting overhang areas between adjacent 2D layers; segmenting each of the detected overhang areas; and determining center points of the segmented areas as positions of support tips.

In addition, the segmenting may include determining a segmentation resolution based on a size of the detected overhang area.

In addition, the calculating may further include calculating a support tip angle with respect to each of the detected support positions, and the creating may include creating the supports based on the calculated support tip angle.

In addition, the calculating the support tip angle may include calculating the support tip angle by using the calculated support position and polyline information of a lower layer.

In addition, the calculating the support tip angle may include: calculating a point B existing below a support position A and distanced therefrom as long as a layer thickness; calculating a point C on the lower layer closest to the calculated point B; calculating an angle θ formed by the support position A and the point C; and determining the support tip angle based on the calculated angle.

In addition, the determining the support tip angle may include: calculating the other point P of a triangle formed by the support position A, the point C, and an angle 2θ; and determining an angle determined by a direction from the support position A toward the point P as the support tip angle.

In addition, the creating may include: creating a support tip at the detected support positions based on the calculated support tip angle; when the support extends downward from the detected support position, but does not touch the 3D model, creating the support as a support pillar; and, when the support touches the 3D model, creating the support as a support lower tip.

According to another embodiment of the present disclosure, a system for creating a support structure includes: a provider configured to provide a 3D model; and a processor configured to slice the 3D model into a plurality of 2D layers, to calculate support positions with respect to the 2D layers by comparing the sliced 2D layers, and to create supports at the calculated positions.

According to still another embodiment of the present disclosure, a method for creating a support structure includes: calculating support positions with respect to a plurality of 2D layers which are generated by slicing a 3D model by comparing the 2D layers; and creating supports at the calculated positions.

According to yet another embodiment of the present disclosure, a computer-readable recording medium has a program recorded thereon to perform a method for creating a support structure, the method including: slicing a 3D model into a plurality of 2D layers; calculating support positions with respect to the 2D layers by comparing the 2D layers; and creating supports at the calculated positions.

Advantageous Effects

According to embodiments of the present disclosure as described above, a creation position of a support is calculated based on a polyline of a sliced layer which is really printed, so that the supports can be created at more precise and meaningful positions than in a related-art method of calculating a support creation position based on face information of a 3D model.

In addition, according to various embodiments of the disclosure, a density of a support is variably set based on an area of a layer that can be grasped in advance, so that stable 3D printing is possible.

In addition, according to embodiments of the present disclosure, since creation of a support is achieved by creation of a polyline of the support, an additional slicing operation is not required with respect to the created support, and thus improvement of speed can be expected.

In addition, according to embodiments of the present disclosure, even if a DLP method which is one of the 3D printing methods is applied, detachment between a support tip and a 3D model caused by contraction of a material can be prevented without inserting the support into a 3D model as shown in FIGS. 2 and 3.

DESCRIPTION OF DRAWINGS

FIG. 1 is a view illustrating a related-art 3D model face-based support position calculation process;

FIGS. 2 and 3 are views illustrating a method for creating a support by inserting the support into a 3D model;

FIG. 4 is a view provided to explain a concept of a support position calculation method applied to an embodiment of the present disclosure;

FIG. 5 is a flowchart provided to explain a support position calculation process applied to an embodiment of the present disclosure;

FIGS. 6 and 7 are views provided to explain a method for determining a segmentation resolution according to an overhang area;

FIG. 8 is a view provided to explain a support tip angle calculation method;

FIG. 9 is a flowchart provided to explain a support creation process applied to an embodiment of the present disclosure;

FIG. 10 is a view illustrating a shape of a normal support;

FIG. 11 is a view illustrating really 3D printed supports;

FIG. 12 is a view provided to explain a support lower tip angle calculation method; and

FIG. 13 is a block diagram of a support structure creation system according to another embodiment of the present disclosure.

BEST MODE

Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.

A support structure creation method according to an embodiment of the present disclosure may be divided into 1) a support position/angle calculation process and 2) a support creation process. The process “1)” will be described with reference to FIGS. 4 to 8, and the process “2)” will be described with reference to FIGS. 9 to 12.

FIG. 4 is a view provided to explain a concept of a support position calculation method applied to an embodiment of the present disclosure.

In an embodiment of the present disclosure, a support position may be calculated based on polyline information of 2D layers which are generated by slicing a 3D model, not based on 3D model information, as suggested in FIG. 4.

Specifically, overhang areas are detected by comparing polyline information of adjacent 2D layers, and the detected overhang areas are variably segmented, and center points of the segmented areas are determined as support positions.

FIG. 5 is a flowchart provided to explain a support position calculation process applied to an embodiment of the present disclosure.

To calculate a support position, a 3D model to be 3D printed is received and is sliced into a plurality of 2D layers (S110) as shown in FIG. 5. At step S110, polyline information of the 2D layers generated by slicing the 3D model are generated.

Overhang areas (differential areas) between adjacent 2D layers are detected by using the polyline information of the 2D layers generated at step S110 (S120).

At step S120, a polyline difference between a current layer and a next layer immediately below the current layer, detected from each layer from the uppermost 2D layer to the lowermost 2D layer, is used in the process of detecting the overhang areas. However, with respect to the lowermost layer, all areas are detected as the overhang areas. A relationship between an overhang area (On) and a 2D layer (Ln) may be expressed by the following equation:

O _(n) =L _(n) −L _(n−1),(n>0)

O ₀ =L ₀

Thereafter, each of the overhang areas detected at step S120 is variably segmented (S130). Specifically, a segmentation resolution is variably operated based on a size of of the detected overhang area.

For example, when the overhang area is wide as shown in FIG. 6, a density of a support to be generated is increased by increasing the segmentation resolution. In contrast, when the overhang area is narrow as shown in FIG. 7, a density of a support to be generated is reduced by reducing the segmentation resolution. As a result, output stability can be enhanced, and simultaneously, efficient use of a 3D printing material can be promoted.

In particular, in the case of a printing method of using a resin material and lifting up, such as a DLP printing method or a stereolithography (SLA) printing method, a force of a material attracting a 3D output increases in proportion to an area to be 3D printed. Accordingly, output stability can be increased by adjusting the number of supports variably according to an area of an overhang as in the embodiment of the present disclosure.

Next, respective center points of the areas segmented at step S130 are detected as support positions, more specifically, as support tip positions (S140). At step S140, centers of gravity of the segmented areas may be detected as center points, and center points of the segmented areas may be detected in other methods.

Thereafter, with respect to the support tips detected at step S140, support tip angles (overhang angles) are calculated (S150). The support tip angle is calculated based on the detected center point and polyline information of an adjacent lower layer, and a specific process of calculating the support tip angle will be described hereinbelow with reference to FIG. 8.

(1) A point “B” positioned below a center point “A” detected on a current layer Layer_(n) along a Z-axis (that is, on a lower layer Layer_(n−1)) and distanced from the point “A” as long as a layer thickness h is acquired.

(2) A point “C” closest to the point “B” from among points constituting the lower layer Layer_(n−1) is acquired.

(3) An angle θ=arcos(h/l) formed by the center point “A” and the point “C” is calculated. Herein, l is a distance between the center point “A” and the point “C”.

(4) The other point “P” of the triangle formed by the center point “A”, point “C”, and an angle 2θ is acquired. Herein, the point “P” is required to be a point constituting the lower layer Layer_(n−1).

(5) An angle determined by a direction from the center point “A” toward the point “P” is determined as a support tip angle.

Hereinafter, a process of creating a support after calculating a position/angle of a support tip will be described in detail.

FIG. 9 is a flowchart provided to explain a support creation process applied to an embodiment of the present disclosure.

To create a support, a support tip is created according to support information (support tip position/angle) calculated by the process illustrated in FIG. 5 (S210) as shown in FIG. 9.

When creation of the support tip is completed, a support pillar and a support lower tip should be created. The support pillar is a part that is directed vertically downwards, and the support lower tip refers to a tip that is formed at a tip of the support toward a 3D output.

FIG. 10 illustrates a shape of a normal support configured with a support tip, a support pillar, and a support lower tip. FIG. 11 illustrates really 3D printed supports.

As shown in FIG. 11, the support tip and the support pillar are essential for the support, but the support lower tip are not essential. The support lower tip may not be formed in the case of a support the lowermost end of which does not meet a 3D model and meets a base, like the support created on the rightmost side of FIG. 11.

To create the support pillar and the support lower tip, it is determined whether the support on the current layer touches the 3D model (S220). The step S220 is performed based on a method of identifying whether there is an intersection between the polyline of the layer and the polyline of the support pillar.

When it is identified that the support on the current layer does not touch the 3D model (S220-N), the support on the current layer is created as a support pillar (S230).

On the other hand, when it is identified that the support on the current layer touches the 3D model (S230-Y), the support at a height of the current layer is created as a support lower tip (S240). This is to minimize remaining marks in a process of removing the support from the 3D model.

FIG. 12 illustrates that, after a support tip is created, a support is created as a support pillar and then is created as a support lower tip. FIG. 12 illustrates a method of calculating a position and an angle of the support lower tip, and a detailed process thereof will be hereinbelow:

(1) A point “B” on an adjacent lower layer Layer_(n−i), that meets a straight line drawn vertically downward from a center point “A” of a support pillar on a current layer Layer_(n−i+1) is acquired.

(2) A point “C” closest to the point “B” from among points constituting the lower layer Layer_(n−i) is acquired.

(3) An angle θ=arcos(h/l) formed by the center point “A” and the point “C” is calculated. Herein, l is a distance between the center point “A” and the point “C”.

(4) The other point “P” of the triangle formed by the center point “A”, the point “C”, and an angle 2θ is acquired. Herein, the point “P” is required to be a point constituting the lower layer Layer_(n−i).

(5) An angle determined by a direction of the center point “A” toward the point “P” is determined as a support lower tip angle.

When the support lower tip is created (S240) or the support pillar is created to the lowermost layer (S250-Y), steps S210 to S250 are performed with respect to the next support.

Steps S210 to S250 are repeated until all supports are completed (S260).

Up to now, the method of creating a support structure based on a 2D slicing polyline for 3D printing has been described with reference to preferred embodiments.

In embodiments of the present disclosure, a support structure is created based on polyline information of 2D layers which are really printed areas, and supports can be exactly and stably created.

Furthermore, since creation of a support is achieved by creation of a polyline of the support in embodiments of the present disclosure, an extra slicing operation is not required for the created support.

In addition, according to an embodiment of the present disclosure, even if a DLP method which is one of the 3D printing methods is applied, detachment between a support tip and a 3D model caused by contraction of a material can be solved. That is, according to an embodiment of the present disclosure, problems can be solved without inserting a support into a 3D model as shown in FIGS. 2 and 3.

FIG. 13 is a block diagram of a support structure creation system according to another embodiment of the present disclosure. The support structure creation system according to an embodiment of the present disclosure may be implemented by a computing system including a communication unit 110, an output unit 120, a processor 130, an input unit 140, and a storage 150 as shown in FIG. 13.

The communication unit 110 is a means for communicating with external devices including a 3D printer and connecting to a server, a cloud, or the like through a network, and may transmit, receive, upload and/or download data necessary for 3D printing.

The input unit 140 is a means for receiving setting/command related to 3D printing and creation of a support structure, and the output unit 120 is a display for displaying a screen related to 3D printing and creation of a support structure.

The processor 130 performs the process of calculating the position/angle of the support suggested in FIG. 5 described above, and the support creation process suggested in FIG. 9. The storage 150 provides a storage space necessary for the processor 130 to perform the corresponding processes.

3D model data may be provided to the processor 130 through the communication unit 110 and the storage 150.

The technical concept of the present disclosure may be applied to a computer-readable recording medium which records a computer program for performing functions of the apparatus and the method according to the present embodiment. In addition, the technical concept according to various embodiments of the present disclosure may be implemented in the form of a computer-readable code recorded on the computer-readable recording medium. The computer-readable recording medium may be any data storage device that can be read by a computer and can store data. For example, the computer-readable recording medium may be a read only memory (ROM), a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical disk, a hard disk drive, or the like. A computer-readable code or program that is stored in the computer readable recording medium may be transmitted via a network connected between computers.

In addition, while preferred embodiments of the present disclosure have been illustrated and described, the present disclosure is not limited to the above-described specific embodiments. Various changes can be made by a person skilled in the art without departing from the scope of the present disclosure claimed in claims, and also, changed embodiments should not be understood as being separate from the technical concept or prospect of the present disclosure. 

1. A method for creating a support structure, the method comprising: slicing a 3D model into a plurality of 2D layers; calculating support positions with respect to the 2D layers by comparing the 2D layers; and creating supports at the calculated positions.
 2. The method of claim 1, wherein the calculating comprises comparing polyline information of the 2D layers.
 3. The method of claim 1, wherein the calculating comprises: detecting overhang areas between adjacent 2D layers; segmenting each of the detected overhang areas; and determining center points of the segmented areas as positions of support tips.
 4. The method of claim 3, wherein the segmenting comprises determining a segmentation resolution based on a size of the detected overhang area.
 5. The method of claim 3, wherein the calculating further comprises calculating a support tip angle with respect to each of the detected support positions, and wherein the creating comprises creating the supports based on the calculated support tip angle.
 6. The method of claim 5, wherein the calculating the support tip angle comprises calculating the support tip angle by using the calculated support position and polyline information of a lower layer.
 7. The method of claim 6, wherein the calculating the support tip angle comprises: calculating a point B existing below a support position A and distanced therefrom as long as a layer thickness; calculating a point C on the lower layer closest to the calculated point B; calculating an angle θ formed by the support position A and the point C; and determining the support tip angle based on the calculated angle.
 8. The method of claim 7, wherein the determining the support tip angle comprises: calculating the other point P of a triangle formed by the support position A, the point C, and an angle 2θ; and determining an angle determined by a direction from the support position A toward the point P as the support tip angle.
 9. The method of claim 5, wherein the creating comprises: creating a support tip at the detected support positions based on the calculated support tip angle; when the support extends downward from the detected support position, but does not touch the 3D model, creating the support as a support pillar; and when the support touches the 3D model, creating the support as a support lower tip.
 10. A system for creating a support structure, the system comprising: a provider configured to provide a 3D model; and a processor configured to slice the 3D model into a plurality of 2D layers, to calculate support positions with respect to the 2D layers by comparing the sliced 2D layers, and to create supports at the calculated positions.
 11. A method for creating a support structure, the method comprising: calculating support positions with respect to a plurality of 2D layers which are generated by slicing a 3D model by comparing the 2D layers; and creating supports at the calculated positions.
 12. A computer-readable recording medium having a program recorded thereon to perform a method for creating a support structure, the method comprising: slicing a 3D model into a plurality of 2D layers; calculating support positions with respect to the 2D layers by comparing the 2D layers; and creating supports at the calculated positions. 